package net.wanho.shop.service;

import net.wanho.shop.dto.PasswordDTO;
import net.wanho.shop.dto.UserDTO;
import net.wanho.shop.po.User;
import net.wanho.shop.vo.PageVo;
import net.wanho.shop.vo.SearchByIdVo;
import org.springframework.web.multipart.MultipartFile;

import java.io.Serializable;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author 猛虎王
 * @since 2024-12-24
 */
public interface UserService {
    // 分页查询
    PageVo findPage(int pageNum, int pageSize, User user);

    // 根据id查询
    SearchByIdVo findById(Serializable id);

    // 添加
    void add(User user);

    // 修改用户
    void modify(User user);

    // 根据id删除
    void removeById(Serializable id);

    // 修改用户状态
    void modifyState(Integer id, Integer state);

    // 修改用户信息
    void modifyUser(Integer id, User user);

    // 修改用户角色
    void modifyRole(Integer id, Integer roleId);

    // 修改密码
    void modifyPassword(PasswordDTO passwordDTO);

    // 修改个人信息
    void modifyUserInfo(UserDTO useDTO);

    // 修改用户头像
    String modifyUserHead(Integer id, MultipartFile file);
}
